package com.oversea.models;

import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name = "user")
@org.hibernate.annotations.Entity(dynamicUpdate = true)
public class User extends BaseModel {
	private static final long serialVersionUID = -5404056504167584942L;

	private List<UserAction> userActionList;  //一对多关联用户行为
	private String userName;   //用户名
	private String password;   //密码
	private String email; //邮箱
	private int sex; //性别 (0:女   1:男)
	private String realName; //真实姓名
	private String birthDate; //生日
	private String contactPhone; //联系电话
	private String mobilePhone; //联系手机
	private String address; //地址
	private String zipCode; //邮编
	private String toeflScore; //TOEFL成绩 
	private String satScore; //SAT成绩
	private String greScore; //GRE成绩
	private String highSchoolGpa; //高中平均成绩
	private int highSchoolRanking; //高中学校类型（分成十个档次）
	private String collegeGpa; //大学平均成绩
	private int collegeRanking; //大学学校类型 （分成十个档次）
	private String budget; //预算（学费，食宿费）
	private String targetEntryTime; //目标入学时间（到月份）
	private String targetedMajors; //目标专业（和后面的专业内容对接，，或者自己输入文字，"，“分开）

	@OneToMany(cascade= {CascadeType.ALL}, fetch=FetchType.LAZY)
	@JoinColumn(name="user_id")
	public List<UserAction> getUserActionList() {
		return userActionList;
	}

	public void setUserActionList(List<UserAction> userActionList) {
		this.userActionList = userActionList;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public int getSex() {
		return sex;
	}

	public void setSex(int sex) {
		this.sex = sex;
	}

	public String getRealName() {
		return realName;
	}

	public void setRealName(String realName) {
		this.realName = realName;
	}

	public String getBirthDate() {
		return birthDate;
	}

	public void setBirthDate(String birthDate) {
		this.birthDate = birthDate;
	}

	public String getContactPhone() {
		return contactPhone;
	}

	public void setContactPhone(String contactPhone) {
		this.contactPhone = contactPhone;
	}

	public String getMobilePhone() {
		return mobilePhone;
	}

	public void setMobilePhone(String mobilePhone) {
		this.mobilePhone = mobilePhone;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getZipCode() {
		return zipCode;
	}

	public void setZipCode(String zipCode) {
		this.zipCode = zipCode;
	}

	public String getToeflScore() {
		return toeflScore;
	}

	public void setToeflScore(String toeflScore) {
		this.toeflScore = toeflScore;
	}

	public String getSatScore() {
		return satScore;
	}

	public void setSatScore(String satScore) {
		this.satScore = satScore;
	}

	public String getGreScore() {
		return greScore;
	}

	public void setGreScore(String greScore) {
		this.greScore = greScore;
	}

	public String getHighSchoolGpa() {
		return highSchoolGpa;
	}

	public void setHighSchoolGpa(String highSchoolGpa) {
		this.highSchoolGpa = highSchoolGpa;
	}

	public int getHighSchoolRanking() {
		return highSchoolRanking;
	}

	public void setHighSchoolRanking(int highSchoolRanking) {
		this.highSchoolRanking = highSchoolRanking;
	}

	public String getCollegeGpa() {
		return collegeGpa;
	}

	public void setCollegeGpa(String collegeGpa) {
		this.collegeGpa = collegeGpa;
	}

	public int getCollegeRanking() {
		return collegeRanking;
	}

	public void setCollegeRanking(int collegeRanking) {
		this.collegeRanking = collegeRanking;
	}

	public String getBudget() {
		return budget;
	}

	public void setBudget(String budget) {
		this.budget = budget;
	}

	public String getTargetEntryTime() {
		return targetEntryTime;
	}

	public void setTargetEntryTime(String targetEntryTime) {
		this.targetEntryTime = targetEntryTime;
	}

	public String getTargetedMajors() {
		return targetedMajors;
	}

	public void setTargetedMajors(String targetedMajors) {
		this.targetedMajors = targetedMajors;
	}

}
